﻿using Abp;
using Abp.Application.Services.Dto;
using Mt.Site.Application.Dto;
using Mt.Site.Application.Modules.Dto;
using System;
using System.Collections.Generic;
using System.Threading.Tasks;

namespace Mt.Site.Application.Modules
{
    public  interface IPageViewAppService : IBackEndAppService
    {
        Task CreateAsync(CreatePageViewDto input);

        Task UpdateAsync(UpdatePageViewDto input);

        Task DeleteAsync(EntityDto<Guid> input);

        Task DeleteListAsync(List<Guid> input);

        Task SetStatus(SetStatusInput input);

        Task<GetPageViewForEditOutput> GetForEditAsync(NullableIdDto<Guid> input);

        Task<PagedResultDto<PagedPageViewDto>> GetPagedPageViews(PagedPageViewInput input);

        Task CopyViewAsync(CopyViewInput input);

        Task<List<NameValue>> GetFrontendPageListForCopyOp();
    }
}
